type go.pact.im/x/plumb/internal/solve.solver
48 uses
go.pact.im/x/plumb/internal/solve (current package)
checks.go#L14: func (s *solver) checkReachability(pl *Plan) *diag.Error {
checks.go#L139: func (s *solver) checkReservedAndCollision(pl *Plan) *diag.Error {
finalize.go#L23: func (s *solver) finalize() (*Plan, *diag.Error) {
finalize.go#L115: func (s *solver) resolveInput(in *Instance, inp InputSlot) (ArgRef, *diag.Error) {
joint.go#L35: func (s *solver) tryJoint() (bool, *diag.Error) {
joint.go#L70: func (s *solver) jointClusters(p *discover.Provider) []map[*types.TypeParam]types.Type {
joint.go#L162: func (s *solver) jointClusterDone(p *discover.Provider, bind map[*types.TypeParam]types.Type) bool {
joint.go#L167: func (s *solver) markJointClusterDone(p *discover.Provider, bind map[*types.TypeParam]types.Type) {
lift.go#L18: func (s *solver) liftAll(p *discover.Provider) []types.Type {
lift.go#L37: func (s *solver) setLiftedConstraints(p *discover.Provider, targs []types.Type, fresh []int) {
lift.go#L54: func (s *solver) liftOne(orig *types.TypeParam, p *discover.Provider) *types.TypeParam {
lift.go#L79: func (s *solver) rollbackLifts(mark int) {
lift.go#L88: func (s *solver) freshLiftedName(base string) string {
lift.go#L101: func (s *solver) orderedLifted() []*types.TypeParam {
order.go#L25: func (s *solver) topoOrder(pl *Plan) ([]*Instance, *diag.Error) {
order.go#L75: func (s *solver) cycleError(pl *Plan, insts []*Instance, emitted map[*Instance]bool, deps map[*Instance]map[*Instance]bool) *diag.Error {
order.go#L162: func (s *solver) edgeType(pl *Plan, consumer, producer *Instance) (types.Type, bool) {
revision.go#L37: func (s *solver) applyCommitment(p *discover.Provider, bind map[*types.TypeParam]types.Type) map[*types.TypeParam]types.Type {
revision.go#L56: func (s *solver) reviseOrSplit(p *discover.Provider, bind map[*types.TypeParam]types.Type) *diag.Error {
revision.go#L107: func (s *solver) unionRefused(p *discover.Provider, union map[*types.TypeParam]types.Type) bool {
revision.go#L112: func (s *solver) markUnionRefused(p *discover.Provider, union map[*types.TypeParam]types.Type) {
solve.go#L151: type solver struct {
solve.go#L217: s := &solver{
solve.go#L245: func (s *solver) run() (*Plan, *diag.Error) {
solve.go#L266: func (s *solver) classify() *diag.Error {
solve.go#L314: func (s *solver) seed() *diag.Error {
solve.go#L343: func (s *solver) solveDemands() *diag.Error {
solve.go#L372: func (s *solver) pendingDemands() []types.Type {
solve.go#L385: func (s *solver) satisfied(t types.Type) bool {
solve.go#L399: func (s *solver) tryWorklist(d types.Type) (bool, *diag.Error) {
solve.go#L433: func (s *solver) viableSingle(d types.Type) ([]matchCand, *diag.Error) {
solve.go#L459: func (s *solver) skeleton(p *discover.Provider) *Instance {
solve.go#L486: func (s *solver) bindInstantiates(p *discover.Provider, bind map[*types.TypeParam]types.Type) bool {
solve.go#L515: func (s *solver) instantiateTemplate(p *discover.Provider, bind map[*types.TypeParam]types.Type) (bool, *diag.Error) {
solve.go#L578: func (s *solver) nearMissDoneAt(p *discover.Provider, bind map[*types.TypeParam]types.Type) bool {
solve.go#L583: func (s *solver) markNearMissDone(p *discover.Provider, bind map[*types.TypeParam]types.Type) {
solve.go#L596: func (s *solver) instanceDone(p *discover.Provider, targs []types.Type) bool {
solve.go#L601: func (s *solver) markInstanceDone(p *discover.Provider, targs []types.Type) {
solve.go#L611: func (s *solver) addInstance(in *Instance) *diag.Error {
solve.go#L643: func (s *solver) checkUnusedTemplates() *diag.Error {
solve.go#L674: func (s *solver) shadowedDemand(p *discover.Provider) (types.Type, *Instance, types.Type) {
solve.go#L701: func (s *solver) templateServes(p *discover.Provider, skel *Instance, params map[*types.TypeParam]bool, d types.Type) bool {
solve.go#L719: func (s *solver) resolveFlexReceivers() {
solve.go#L748: func (s *solver) checkInputType(in *Instance, t types.Type) *diag.Error {
solve.go#L777: func (s *solver) checkTemplateAmbiguity() *diag.Error {
solve.go#L797: func (s *solver) viableProducers(d types.Type) (ps []*discover.Provider, matched bool) {
solve.go#L857: func (s *solver) coversPinnable(p *discover.Provider, bind map[*types.TypeParam]types.Type) bool {
solve.go#L883: func (s *solver) setPos() token.Position {